1. Field of the Invention
The present invention relates to removing blocking artifacts and ringing noise, and more particularly, to a filtering method and apparatus for removing blocking artifacts and ringing noise caused when processing an image frame on a block-by-block basis.
2. Description of the Related Art
In general, video data is encoded by processing image frames in block units. In particular, according to video data encoding standards such as the moving picture experts group standard (MPEG) and H.263, video data is encoded by performing a discrete cosine transform (DCT) and quantization on image frames in block units. However, encoding image frames in block units may result in blocking artifacts and ringing noise. Blocking artifacts make an edge region, which was not in the original frame, occur in a reproduced image frame, thereby causing discontinuity between adjacent pixels of the edge region in the reproduced image frame. Also, when ringing noise occurs in an image frame, a borderline of an object in the image frame is not smoothly depicted, e.g., the borderline may be irregular. The higher a compression rate of the reproduced image frame, the more serious the blocking artifacts and the ringing noise become.
To filter the blocking artifacts and the ringing noise, it is important to first find an exact region of the image frame in which the blocking artifacts and ringing noise occur. Otherwise, an edge region present in the original image frame may be mistakenly regarded as being generated due to the blocking artifacts and removed, thereby deteriorating the quality of the image.
In general, detection of an edge region of a pixel block reproduced due to blocking artifacts and/or ringing noise is required to accomplish a conventional filtering method for removing blocking artifacts and/or ringing noise. For instance, in a reproduced image frame consisting of a plurality of 8×8 or 4×4 pixel blocks, the distribution of pixel values, such as brightness, luminance, and color of pixels present on boundaries between the 8×8 or 4×4 pixel blocks are measured and the measured values are compared with a predetermined critical value. The critical value is experimentally obtained by measuring the distribution of the above pixel values, such as brightness, luminance, and color of pixels, finding a relationship between the distributions of the above pixel values, and determining whether the edge region is present or not in an image frame.
To measure the distribution of pixel values, pixel values in a boundary region between adjacent blocks must be checked in the vertical or horizontal direction. However, in fact, it is almost impossible to check every pixel value in the boundary region because of a large amount of calculation and complexity. In particular, since pixel values are stored in a memory device in the vertical direction in chronological order, continuous access to the memory device is required to calculate pixel values in the vertical direction. However, continuous access to a memory device is, at least for the time being, out of the question.